package cn.yshujia.handler.domain;

import cn.yshujia.handler.ListStringConverterHandler;
import cn.yshujia.utils.MinioUtils;
import cn.yshujia.utils.StringUtils;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONException;

import java.util.List;

/**
 * @author yshujia
 * @create 2024/12/28
 * @description DomainHandler 为静态资源添加域名处理器
 */

public class DomainConverterHandler<T> extends ListStringConverterHandler<T> {
	@Override
	public T get(String str) {
		try {
			List<String> list = JSON.parseArray(str, String.class);
			list.replaceAll((s) -> MinioUtils.STATIC_DOMAIN + s);
			return (T) list;
		} catch (JSONException e) {
			return StringUtils.isEmpty(str) ? null : (T) (MinioUtils.STATIC_DOMAIN + str);
		}
	}
}
